草庐IT

android - asyncTask 测试不执行

全部标签

go - 执行命令中断

我正在编写一个将在ubuntu14.04上作为守护进程运行的应用程序。这个守护进程的目的是运行一个for循环,该循环将检查各种数据库表中的数据,如果存在数据,它将生成一个goroutine以对各种数据执行各种操作。这样做是为了让我比cron允许我安排任务更频繁地执行任务。一个例子是,如果守护进程在数据库表“notifications”中发现了一个新行,它会生成一个新的goroutine,该goroutine会一直运行直到完成,在这种情况下,这意味着运行以下命令:err:=exec.Command("sh","-c","php/var/app/send_notification.php"

go - 测试在 Go 中使用 fmt.Scanf() 的函数

我想为包含调用fmt.Scanf()的函数编写测试,但我在将必需参数传递给函数时遇到问题。有没有更好的方法来做到这一点,或者我需要模拟fmt.Scanf()这里给出要测试的函数:https://github.com/apsdehal/Konsoole/blob/master/parser.go#L28//Initializesthenetworkinterfacebyfindingalltheavailabledevices//displaysthemtouserandfinallyselectsoneofthemaspertheuserfuncInit()*pcap.Pcap{dev

unit-testing - 使用 aetest.NewContext 代替 endpoints.NewContext 以强一致性测试 go-endpoints

我有一个搜索方法:func(sa*SearchApi)Search(cendpoints.Context,r*SearchQuery)(*SearchResults,error){..}如您所见,它需要一个端点。上下文例如:ctx:=endpoints.NewContext(req1)但是对于aetest,我使用的是不同的上下文:otherCtx,err:=aetest.NewContext(&aetest.Options{"",true})特别是这个上下文有额外的强一致性选项-因为我正在设置数据所以我可以测试一个只读的api。我无法将otherCxt传递给我的Search方法,因为它

go - 我如何告诉我的测试等待 goroutine 中的回调?

我正在使用dockerclienthttps://github.com/samalba/dockerclient它有一个基于channel的API来监听事件client.MonitorEvents()和一个方便的回调方法client.StartMonitorEvents(callbackHandler).我想测试处理程序是否被调用。当然,dockerclient在goroutine中处理事件。现在,我的处理程序只是吐出一个日志。如果我在测试中等待,一切都会得到处理。如果我不这样做,它会在处理任何事情之前退出:funceventCallback(event*dockerclient.Ev

mysql - 为什么这一小段代码需要 11 秒来执行这几个数据库调用?

我有这段代码:packagetradebotimport("log""net/http""strconv""github.com/Philipp15b/go-steam/tradeoffer""github.com/gorilla/mux")funcAcceptTrade(whttp.ResponseWriter,r*http.Request){vars:=mux.Vars(r)vartradeIdtradeoffer.TradeOfferIdvarsTradeIdstringif_,has:=vars["TradeId"];has{varerrerrorsTradeId=vars["

go - 如何使用 gocql 执行 cql 文件?

如果您要使用cqlsh直接与Cassandra交互,您可以执行以下操作:$cqlshcqlsh:test>SOURCE'/home/me/reset_db.cql'我已经多次尝试使用gocql来执行此操作,但总是会出错。例如,运行这个:filePath:="/home/me/reset_db.cql"SOURCE_FILE:="SOURCE(?)"resetErr:=session.Query(SOURCE_FILE,filePath).Exec()产生以下错误:line1:0noviablealternativeatinput'SOURCE'([SOURCE]...)那么我做错了什么

go - 将顺序测试分散到 4 个 go 例程中,如果一个失败则终止所有例程

假设我有一个简单的循环来执行这样的顺序测试。forf:=1;f我循环遍历数字范围并对每个数字进行测试。如果一个数字的测试失败,我会中断并退出主线程。很简单。现在,如何在四个或几个围棋例程中正确输入测试数字。基本上,我想以4个为一组(或任何数量的go例程)测试从1到1000的数字。我是否创建4个从一个channel读取的例程并将数字按顺序输入该channel?还是我用一个单独的channel制作4个例程?还有一个问题。如果其中一个未通过测试,我该如何停止所有4个例程?我一直在阅读channel上的一些文本,但我无法将它们拼凑起来。 最佳答案

unit-testing - App Engine 本地单元测试不同实例 [GO]

我在测试单独的方法时遇到问题,每个测试用例都在不同的实例和地址上运行。我正在寻找一种方法来设置API地址,以便在同一API服务器上执行测试。我假设此警告是问题的一部分。WARNING2015-11-0418:15:25,003devappserver2.py:779]DEFAULT_VERSION_HOSTNAMEwillnotbesetcorrectlywith--port=0此命令将设置API服务器,但我不能为测试做同样的事情...dev_appserver.py.--api_port55555 最佳答案 使用aetest.Ne

go - 中间件在没有指定挂载路径的情况下为每个请求执行

Node.jsExpress可以插入一个没有安装路径的中间件,它会针对每个请求执行。有没有办法在GO中实现这一点?varapp=express();//amiddlewarewithnomountpath;getsexecutedforeveryrequesttotheappapp.use(function(req,res,next){console.log('Time:',Date.now());next();}); 最佳答案 这是Go的net/http的基本示例:funcmain(){r:=http.NewServeMux()r

unit-testing - 运行 Ginkgo 测试套件(在运行任何规范之前设置 BeforeSuite

我正在使用Ginkgo(和Gomega)包对Go(lang)RestAPI进行单元测试。我需要使用全局设置,这应该可以通过定义来实现var_=BeforeSuite(func(){...})然后每个规范(具体的_test.go)应该在这个全局设置之后运行。不幸的是我不能让这发生......我的套件文件名为handlers_suite_test.go我的第一个测试规范名称是cartContentsHandler_test.go.在我看来,Ginkgo按字母顺序运行测试文件,使得cartContentsHandler_test.go运行之前handlers_suite_test.go.我放